热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

外力|通病_普通web项目转为maven项目整理

篇首语:本文由编程笔记#小编为大家整理,主要介绍了普通web项目转为maven项目整理相关的知识,希望对你有一定的参考价值。   现在越来越多的公司和

篇首语:本文由编程笔记#小编为大家整理,主要介绍了普通web项目转为maven项目整理相关的知识,希望对你有一定的参考价值。



     现在越来越多的公司和团队开始使用maven来管理项目。对个人而言,之前一直不太喜欢maven结构的项目,需要配置pom.xml,每次打开IDE之后都需要加载maven,电脑配置低的话就卡半天,balabala。后来用得多了也就习惯了,就跟用Myeclipse用习惯了,再用IDEA时一样,估计是大多数人的通病,习惯于一个模式,没有外力就不想再更换(还不是因为懒,哈哈)。

     好了,言归正传,之前的时候接到个任务,需要把一个普通的web项目改成maven的,花了点时间就研究了研究。


1.maven结构
     maven结构的web项目目录如下:








根据maven项目“约定优于配置”的原则,其中./src/main/用于存放源代码,./src/test用于存放单元测试代码,./target用于存放编译、打包后的输出文件。按理说src/main/作为Source Folder就可以了,不过为了方便开发,通常会在main下面加上java和resources两个目录,其中java放置java代码,而resources文件夹存放相关配置文件)。





2.maven的配置都在pom.xml里面

2.1.pom.xml在改的时候我主要用到三个配置


2.1.1.是项目引入插件所需要的额外依赖,主要是依赖的jar包。



junit

junit

4.11

test





2.1.2.因为改造前的项目的jar好多是框架私有包,在maven仓库没有,这时就需要将jar包install到本地maven仓库,



mvn install:intall-file -Dfile=myprivatejar.jar -DgroupId=com.cn.wddqz -DartifactId=non-maven-proj -Dversion=1 -Dpackaging=jar




2.1.3.dependency的version里还可以用$junit.version表示,然后再中加入4.11


2.2.profiles:在列的项目构建profile,用来激活不同的profile


因为项目有多个测试环境,所以根据不同的环境要有若干套配置文件,次时就需要多个profile,用来放置不同的配置文件。此时maven结构中的resouces就需
要有若干个文件夹了ceshi1_resouces、ceshi2_resouces、ceshi3_resouces等.
配置文件如下:


ceshi1

ceshi1_resouces


true




org.apache.maven.plugins
maven-war-plugin
2.4


true









注:进行maven编译的时候需要加上" -P ceshi1 "


2.3.build构建项目需要的配置信息:


示例如下:




org.apache.maven.plugins

maven-compiler-plugin
2.4


1.6
1.6

UTF-8




maven-war-plugin
2.4

true

MavenDemo



$project.basedir/src/main/$package.environment
WEB-INF/classes
true








3.注意事项:
3.1.maven项目改造前,IDE里面需要装maven插件,本地配置maven的环境变量。
3.2.我是先新建了个maven的web项目,然后将原来web项目的源码拷贝到对应目录的方式实现的。

4.后记:
改造的时候只用到了以上的一些内容,基本上完成了任务,基于个人能力可能有些方面没考虑到,或者项目比较简单,而没有用到更复杂的知识,如果大家
有更好的案例,欢迎补充。






加个Apache Maven 入门:


Apache Maven 入门篇 ( 上 )


Apache Maven 入门篇 ( 下 )


推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了Java并发库中的阻塞队列(BlockingQueue)及其典型应用场景。通过具体实例,展示了如何利用LinkedBlockingQueue实现线程间高效、安全的数据传递,并结合线程池和原子类优化性能。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析JVM垃圾收集器
    本文基于《深入理解Java虚拟机:JVM高级特性与最佳实践》第二版,详细探讨了JVM中不同类型的垃圾收集器及其工作原理。通过介绍各种垃圾收集器的特性和应用场景,帮助读者更好地理解和优化JVM内存管理。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • Explore how Matterverse is redefining the metaverse experience, creating immersive and meaningful virtual environments that foster genuine connections and economic opportunities. ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了如何使用 Spring Boot DevTools 实现应用程序在开发过程中自动重启。这一特性显著提高了开发效率,特别是在集成开发环境(IDE)中工作时,能够提供快速的反馈循环。默认情况下,DevTools 会监控类路径上的文件变化,并根据需要触发应用重启。 ... [详细]
  • 本文将介绍如何使用 Go 语言编写和运行一个简单的“Hello, World!”程序。内容涵盖开发环境配置、代码结构解析及执行步骤。 ... [详细]
  • 本文介绍如何利用动态规划算法解决经典的0-1背包问题。通过具体实例和代码实现,详细解释了在给定容量的背包中选择若干物品以最大化总价值的过程。 ... [详细]
author-avatar
蓝客杂货
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有